home *** CD-ROM | disk | FTP | other *** search
- ;
- ; Copyright 1991-1996 Apple Computer. All rights reserved.
- ;
- ; You may incorporate this sample code into your applications without
- ; restriction, though the sample code has been provided "AS IS" and the
- ; responsibility for its operation is 100% yours. However, what you are
- ; not permitted to do is to redistribute the source as "DSC Sample Code"
- ; after having made changes. If you're going to re-distribute the source,
- ; we require that you make it clear in the source that the code was
- ; descended from Apple Sample Code, but that you've made changes.
- ;
-
- ***************************************************************************
- ****
- **** DESK ACCESSORY and DEVICE DRIVER Entry Code/Data
- ****
- ***************************************************************************
-
- STRING PASCAL
-
- INCLUDE 'ToolEqu.a'
- INCLUDE 'SysEqu.a'
-
- CASE OBJ
- **************************** DESK ACCESSORY ENTRY **************************
- IMPORT %DRVRMain
-
- DAEntry Proc Export ; See Device Manager IM:2
- ;
- ; First we need to set the drvrFlags (IM II-188), choose from
- ;
- ; dReadEnable enable driver for read operations (drivers only)
- ; dWritEnable enable driver for writing (drivers only)
- ; dCtlEnable enable driver/da for control operations
- ; dStatEnable enable driver/da for status operations (drivers only)
- ; dNeedGoodBye driver/da needs a "goodbye kiss"
- ; dNeedTime driver/da needs "main thread" time
- ; dNeedLock driver will be accessed at interrupt level (drivers only)
- ;
- DC.B (1<<dCtlEnable) + (1<<dStatEnable) ; periodic, control flags set
- DC.B 0 ; Lower byte is unused
- ;
- ; Next is the the drvrDelay (IM II-188), set only if dNeedTime flag set above
- ;
- DC.W 0 ; 5 sec periodic update
- ;
- ; Next is the the drvrEMask (IM I-444), which events DA can respond to...
- ; Must be NIL for drivers, for DA's choose from
- ; mButDwnEvt mouse button down is event 1
- ; keyDwnEvt key down is event 3
- ; keyUpEvt key up is event 4
- ; autoKeyEvt auto-repeated key is event 5
- ; updatEvt update event
- ; activateEvt activate/deactive event
- ;
- DC.W 0 ; Handle activate, update events
- ;
- ; Next is the the drvrMenu (IM I-444), Menu ID of DA's menu, or NIL
- ;
- DC.W 0 ; No associated menu
- ;
- ; Next are the offsets to the main routines of the driver/DA
- ;
- DC.W %DRVRMain - DAEntry ; Open routine
- DC.W %DRVRMain - DAEntry +4 ; Prime - unused for DA's
- DC.W %DRVRMain - DAEntry +8 ; Control
- DC.W %DRVRMain - DAEntry +12 ; Status - unused for DA's
- DC.W %DRVRMain - DAEntry +16 ; Close
-
- ;
- ; Next are the offsets to the main routines of the driver/DA
- ;
- DAName
- DC.B '.Print' ; DA/DRVR Name
- ; ORG DAName+32 ; Pad string out to 32 bytes
-
- END
-